package br.org.acessobrasil.portal.modelo;

import java.io.Serializable;
import java.util.List;

import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.JoinTable;
import javax.persistence.ManyToMany;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.Table;

@Entity
@Table(name = "sgctb_setor")
public class Setor implements Serializable {
	private static final long serialVersionUID = 3234636604004653844L;

	@Id
	@GeneratedValue
	private Long nu_setor;

	private String no_setor;

	private String de_setor;

	@ManyToMany()
	@JoinTable(name = "sgctb_setor_conteudo", joinColumns = @JoinColumn(name = "nu_setor"), inverseJoinColumns = @JoinColumn(name = "nu_conteudo"))
	private List<Conteudo> listConteudo;

	@OneToMany(fetch = FetchType.LAZY)
	@JoinColumn(name = "nu_setor")
	private List<Usuario> listUsuario;
	
	@OneToMany(fetch = FetchType.LAZY)
	@JoinColumn(name="nu_setor")
	private List<Arquivo> listArquivos;
	
	@ManyToOne
	@JoinColumn(name = "nu_sitio")
	private Sitio sitio;	
	
	public long getNuSetor() {
		return nu_setor;
	}

	public void setNuSetor(long nu_setor) {
		this.nu_setor = nu_setor;
	}
	public void setNuSetor(Long nu_setor) {
		this.nu_setor = nu_setor;
	}
	public String getNoSetor() {
		return no_setor;
	}

	public void setNoSetor(String no_setor) {
		this.no_setor = no_setor;
	}

	public String getDeSetor() {
		return de_setor;
	}

	public void setDeSetor(String de_setor) {
		this.de_setor = de_setor;
	}

	public List<Conteudo> getListConteudo() {
		return listConteudo;
	}

	public void setListConteudo(List<Conteudo> listConteudo) {
		this.listConteudo = listConteudo;
	}

	public List<Usuario> getListUsuario() {
		return listUsuario;
	}

	public void setListUsuario(List<Usuario> listUsuario) {
		this.listUsuario = listUsuario;
	}

	public boolean equals(Object o) {
		if(!(o instanceof Setor)){
			return false;
		}
		Setor u=(Setor)o;
		if(u.getNuSetor()==this.getNuSetor()){
			return true;
		}else{
			return false;
		}
	}

	public List<Arquivo> getListArquivos() {
		return listArquivos;
	}

	public void setListArquivos(List<Arquivo> listArquivos) {
		this.listArquivos = listArquivos;
	}

	public Sitio getSitio() {
		return sitio;
	}

	public void setSitio(Sitio sitio) {
		this.sitio = sitio;
	}
}
